package com.study.service;

import com.study.dto.ActivityCollectionListPageQueryDTO;
import com.study.dto.ActivitySearchDTO;
import com.study.result.PageResult;
import com.study.vo.ActivityDetailVO;
import com.study.vo.ActivityVO;

import java.util.List;

public interface ActivityService {
    /**
     * 获取活动列表
     * @return
     */
    List<ActivityVO> getActivityList(ActivitySearchDTO activitySearchDTO);

    /**
     * 获取用户收藏的活动列表
     * @param userId
     * @return
     */
    PageResult getCollectionActivityListByUserId(ActivityCollectionListPageQueryDTO userId);

    /**
     * 收藏活动
     * @param activityId
     */
    void collectionActivity(Long activityId);

    /**
     * 取消收藏活动
     * @param activityId
     */
    void cancelCollectionActivity(Long activityId);

    /**
     * 据活动id获取活动详情
     * @param activityId
     * @return
     */
    ActivityDetailVO getActivityById(Long activityId);

    /**
     * 根据用户id和活动id判断用户是否收藏了该活动
     * @param userId
     * @param activityId
     * @return
     */
    Boolean isCollectionByUserId(Long userId, Long activityId);
}
